perm filename LOGREQ.AI[ESS,JMC] blob sn#005517 filedate 1971-10-10 generic text, type T, neo UTF8
00100	Oct 11, 1971
00200	
00300	Requirements and desiderata for the logic for the Missouri program
00400	and the reasoning program.
00500	
00600	The basic requirement is that the logic shall admit convenient proofs
00700	that  strategies  achieve  goals  when  the facts available are those
00800	generally available to humans in the given situation.  This  includes
00900	facts  about  knowledge,  the  value  ascribed  by  a  person  to  an
01000	expression, etc.
01100	
01200	It presently seems best to make the argument of knowledge or
01300	ascription assertions an expression in some language.  This is
01400	because the alternative seems to be modal logic.  The semantics
01500	of one dimension of modality though well established by Kripke
01600	and maybe improved by Scott seem incredibly murky if we have
01700	to use an number of modalities in the same formalism - indeed,
01800	in the same sentence - e.g. "possibly he knowws he can do x."
01900	Then we have to get around the paradox described by Kaplan and
02000	Montague in "Paradox regained".
02100	
02200	One way of getting around the paradox is to use a partial function
02300	logic like that described in my AI memo 1 or that described by
02400	Bochvar.  In such a logic, not all sentences have truth values;
02500	in particular, the sentences expressing paradoxes don't.
02600	There are rules that guarantee that certain kinds of sentences
02700	have truth values, others are asserted by axioms to have
02800	truth values, and certain of the rules of inference enable us
02900	to go from the definedness of certain sentences to those of others.
03000	The class of sentences with truth values, even if we consider
03100	sentences containing only logical constants will not be 
03200	recursively enumerable.  Otherwise, the logic could be replaced
03300	by a second one whose sentences are just the meaningful sentences
03400	of the first logic.  The situation may be worse in that even the
03500	axiom that every sentence is true, false or undefined may bring
03600	back the paradoxes, but this is not clear.
03700	
03800	It would be tempting to try the Scott logic because this handles
03900	definedness in a good way, but it seems clear we need the quantifiers
04000	Scott lacks.  Scott is rumored to know how to imbed his system in
04100	intuitionistic predicate calculus, but I don't understand why
04200	classical predicate calculus is inadequate, why a Bochvar like
04300	logic won't do, or what the implications are of accepting
04400	intuitionistic logic here; must we accept the whole intuitionistic
04500	dogma about what is or isn't meaningful.  Almost surely we can
04600	use their logic without that.
04700	
04800	It would be interesting to see if a partial logic could be found
04900	meeting even the above requirements.
05000	
05100	Another approach is to keep two valued logic, introduce eval as
05200	a specific function of expressions.  Expressions that we secretly
05300	consider to be meaningless have a conventional value UU, and many
05400	of our axioms will have hypotheses that the certain expressions
05500	referred to have a value other than UU.  Thus we will have a 
05600	weakening of the axioms for truth or knowledge that may avoid
05700	the contradictions.
05800	
05900	The use of expressions and some kind of rule allowing us to
06000	go back and forth between a sentence and the assertion of its
06100	truth may allow us to get the benefits of higher order logic
06200	without the pain.  The price will probably come when we try
06300	to describe the semantics of the system.  Incompleteness will
06400	out somewhere - the point is to let it out where it does the
06500	least harm and conflicts least with intuition.
06600	
06700	Another major requirement for the logic is that it allows
06800	the assertion of the result of a calculation
06900	directly with the proof-checker performing the calculation.
07000	Thus we could directly assert
07050	
07100		value[(CAR (QUOTE (A B)))] = A
07200	
07300	from which one could deduce
07400	
07500		car[(A B)] = A
07600	
07700	perhaps by way of
07800	
07900		value[(EQUAL (CAR (QUOTE (A B))) (QUOTE A))] = T.
08000	
08100	Perhaps this last sentence is the one which can be immediately
08200	asserted or even
08300	
08400		true[(EQUAL (CAR (QUOTE (A B)))(QUOTE A))].
08500	
08600	This last form now seems best.